home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Loadstar 235
/
235.d81
/
time subway
(
.txt
)
< prev
next >
Wrap
Commodore BASIC
|
2022-08-26
|
13KB
|
296 lines
10 poke56,62:clr:poke53280,.:poke53281,.:printchr$(8)chr$(142):x=rnd(ti)
20 poke53248+21,255:poke53248+21,.:sys65418:gosub1010:pl=49847:a=52224:b=52480
30 forx=atob:readd:pokex,d:next:a=49152:b=49970:forx=atob:readd:pokex,d:next
40 a=248*64:b=a+7*64:forx=atob:readd:pokex,d:next
50 print"[154]based on a concept by lynwood brooks"
60 forx=.to63:poke832+x,.:poke896+x,255:poke960+x,255:next:poke864,16
70 forx=2to63step3:poke896+x,.:next:poke864,16:poke867,16
80 print"[152]programmed by cleveland m. blakemore";:syspl,.,16:gosub1100
90 print"[152][213][195][201][157][157][157][194] [194][157][157][157][202][195][203]":printtab(32)"[145][145][145][213][195][201][157][157][157][194] [194][157][157][157][202][195][203]"
100 syspl,10,9:print"[154]press fire to begin"
110 a$(.)="[194]":a$(1)="[206]":a$(2)="[195]":a$(3)="[205]":x=.
120 sys52224,1,16,21:print""tab(4)a$(x)tab(33)a$(x):x=x+1+(x=3)*4
130 on-((peek(56320)and16)>.)goto120:print"[147]"
140 dim v,p,y,j,r,u,e,d,h,w,i,l,sp,n,lx,ly,g,m,s,s$(47),d(1),t(47),sc(3)
150 v=53248:j=56320:sc=52224:m=1988:s=54272:d(.)=-1:d(1)=1:n=209:u=1:e=2:g=4
160 h=64:l=100:lx=172:ly=200:i=.025:sp=1337
170 forx=.to3:readsc(x):next:reada$(.),a$(1)
180 forx=1to45:readt(x),s$(x):next
190 xs=49634:ys=49647:tg=49660:fl=49673:cf=49692:md=49711:ss=49755:sb=49774
200 deffnf(x)=-((peek(j)and16)>.):deffnm(x)=(peek(v+21)and16)=.
210 deffnp(x)=peek(v+16)and239
220 sys49805,255,.
230 sysxs,41,21:sysys,123,214:systg,6,14:sysfl,0,0,0:syscf,16,31,14:sysss,4,3
240 poke2040,248:poke2044,13:poke2045,14:poke2046,15:poke2047,248
250 pokev+28,143:pokev+37,1:pokev+38,11:pokev+39,10:pokev+43,1
260 pokev+44,.:pokev+45,.:pokev+46,9:pokev+10,160:pokev+11,115
270 pokev+12,160:pokev+13,103:pokev+14,172:pokev+15,200:pokev+23,32:pokev+29,96
280 y=m:d=.:w=.:gosub990
290 gosub1170:gosub1260:gosub1390
300 p=129:a$="99599592":gosub1420
310 pokev+16,.:pokev+10,168:pokev+11,115:pokev,172:pokev+1,87
320 pokev+21,33:pokev+27,223:gosub1300:pokev+27,222:gosub1370:gosub1320
330 x=(y=t(hx)):pokev+21,65+(x<>.)*-128+(x=.)*-14:r=(x=.)*-.8
340 fora=.to9:a=peek(v+30):a=peek(v+31):next:sysfl,0,1,1:sys49152
350 p=129:a$="111455808101101101101101101":gosub1420:fora=.to3:sysss,a,1:next
360 rem main loop for subway platform
370 syssc,d,e,7:ifrnd(u)>rthensysmd,rnd(u)*4+u,rnd(u)*8+u
380 ifxtheniffnm(.)thenpokev+16,fnp(.):pokev+8,lx:pokev+9,ly:pokev+21,n
390 w=w+i:a=peek(v+30):b=peek(v+31):ifw>lor((aandu)=uand(aandh)=.)then410
400 onfnf(.)goto370:on((bandu)=u)*-u+(a=h+u)*-egoto550,820:goto370
410 forx=.to3:sysss,x,.:next:pokes+6,96:pokes+24,15:pokes+4,33
420 forx=.to255step5:pokes,x:pokes+1,255-x:next:pokes+4,32
430 forx=.to96:pokev+32,xand15:next
440 on-(a=129ora=145)goto510:on-(w<l)goto540:syspl,9,9:poke198,.
450 rem time distortion reaches 100%
460 print"time distortion 100% !!"
470 p=33:ford=.to4:a$="121205":gosub1420:next
480 printtab(12)"play again (y/n)[154]"
490 wait198,1:geta$:ifa$="y"thenrun
500 poke679,.:sys679
510 rem found doctor
520 print"[147]":syspl,2,9:print"[150]you have stopped the crazed doctor!!"
530 poke198,.:p=33:ford=.to2:a$="251331421502421502":gosub1420:next:goto470
540 gosub990:y=int(rnd(u)*m)+u:syscf,16,30,14:pokev+17,11:goto880
550 forx=.to3:sysss,x,.:next:pokev+21,.
560 print"[147][158][176]";:forx=.to35:print"[195]";:next:print"[174]"
570 forx=.to20:printtab(1)"[194]"tab(38)"[194]":next
580 print"[173]";:forx=.to35:print"[195]";:next:print"[189]"
590 syspl,7,22:print"[152]time distortion factor:";:gosub960:print"%"
600 syspl,2,2:print"[158] space-time continuum subway system ":syspl,10,4
610 print"station: ";:a$=str$(y):gosub940:print" a.d.":x=fre(.)
620 p=33:a$="081112113211":gosub1420
630 a=.:forx=1to45:ify=t(x)thena=x
640 next:ifa=.then670
650 syspl,3,6:print"[155]significant event this time frame:"
660 syspl,20-(len(s$(a))/2),8:print""s$(a):goto680
670 syspl,2,6:print"[151]no significant event at this station"
680 syspl,2,10:print"[150]there is a human presence registered"
690 syspl,7,11:print"in the vicinity of the era"
700 syspl,9,12:print"marked by the event..."
710 p=17:a$="401401401401":gosub1420
720 printtab(20-(len(s$(hx))/2))""s$(hx):a$=str$(t(hx)):printtab(15)"[152]";
730 gosub940:print" a.d."
740 syspl,8,17:print""a$(.):syspl,32,17:printa$(1)
750 syspl,15,18:print"[152]s u b w a y":syspl,15,19:print"[155]m o t i o n"
760 a=usr(.)
770 ifa=3thend=1:syspl,32,17:print"[150]"a$(1):syspl,8,17:print""a$(.)
780 ifa=7thend=.:syspl,32,17:print""a$(1):syspl,8,17:print"[150]"a$(.)
790 ifa=3ora=7thenp=33:a$="991":gosub1420
800 on-((peek(j)and16)>.)goto760:p=17:a$="424242":gosub1420:gosub1170:goto330
810 rem subway time travel
820 sysfl,0,1,0:pokev,172:pokev+1,124:p=33:a$="50":gosub1420
830 syssc,d,2,7:fora=.to20:next:ifpeek(sp)<>186orpeek(sp+u)<>210then830
840 gosub1390
850 pokev+21,peek(v+21)or32:gosub1300:gosub1340:pokev+27,peek(v+27)or1
860 gosub1320:pokev+21,peek(v+21)and254
870 forx=90to10step-1:syssc,d,2,7:forb=.tox:next:next:pokev+17,11
880 pokev+21,.:print"[147][151]";:fora=.to3:gosub1230:gosub1240:next:print:gosub1100
890 print"[151]";:fora=.to3:gosub1230:gosub1240:next:pokev+17,27:a=9:b=14
900 syssc,d,a,b:y=y+d(d)+(y=mandd=u)*(m+u)+(y=.andd=.)*-(m+u):a$=str$(y)
910 w=w+i:on-(w>l)goto440:print""tab(17)"";:gosub940:onfnf(.)goto900
920 goto290
930 rem right justified year
940 printright$(" "+(right$(a$,len(a$)-u)),g);:x=fre(.):return
950 rem right justified time distortion
960 a$=str$(int(w)):printright$("000"+(right$(a$,len(a$)-1)),3);
970 x=fre(.):return
980 rem random location in time
990 hx=int((rnd(1)*44)+1):return
1000 rem title
1010 print"[147]"tab(4)"every second counts aboard the..."
1020 printtab(12)"[176][178][174] [178] [176][174][176][174] [178][195][174]"
1030 printtab(12)"[155] [194] [194] [194][173][189][194] [171][179] "
1040 printtab(12)"[155] [177] [177] [177] [177] [177][195][189]"
1050 printtab(10)"[152][176][195][174][178] [178][178][195][174][178] [178][176][195][174][174] [176]"
1060 printtab(10)"[151][173][195][174][194] [194][171][195][179][194][176][174][194][171][195][179][173][178][189]"
1070 printtab(10)"[151][173][195][189][173][195][189][177][195][189][173][189][173][189][177] [177] [177] "
1080 printtab(12)"[154]please stand by!"
1090 printtab(4)"[155](c) 1988 cleveland m. blakemore":return
1100 print"[155]";:forx=.to39:printchr$(183);:next
1110 print" [213][195][195][195][195][195][201] [213][195][195][195][195][195][201] [213][195][195][195][195][195][201] [213][195][195][195][195][195][201] [152]::::::[155] ";
1120 print" [202][195][195][195][195][195][203] [202][195][195][195][195][195][203] [202][195][195][195][195][195][203] [202][195][195][195][195][195][203] [152]:[151][176][195][195][174][152]:[155] ";
1130 print"[151][178][178][178][178][178][178][178][178][178][178][178][178][178][178][178][178][178][178][178][178][178][178][178][178][178][178][178][178][178][178][178][178][178][152]:[151][173][195][195][189][152]:[151][178]";
1140 print"[177][177][177][177][177][177][177][177][177][177][177][177][177][177][177][177][177][177][177][177][177][177][177][177][177][177][177][177][177][177][177][177][177][152]:[151] [215][215] [152]:[151][177]";
1150 print"[155][176][176][176][176][176][176][176][176][176][176][176][176][176][176][176][176][176][176][176][176][176][176][176][176][176][176][176][176][176][176][176][176][176][152]:[151][210][210][210][210][152]:[155][176]":return
1160 rem subway platform
1170 pokev+17,11:poke646,sc(yand3)
1180 print"[147]";:gosub1230:gosub1240:print"";:gosub1240:gosub1230:forx=.to6
1190 print"[207][208]"spc(36)"[207][208][208][207]"spc(36)"[208][207]";:next:gosub1230:print"[157]";:gosub1230
1200 poke2023,208:print"";:gosub1100
1210 syspl,34,13:print"[158][161][151][176][195][174][157][157][157][157][158][161][151][194]i[194][157][157][157][157][158][161][151][194]n[194][157][157][157][157][158][161][151][194]f[194][157][157][157][157][158][161][151][194]o[194]";
1220 print"[157][157][157][157][158][161][151][173][195][189]":syspl,17,8:print" ":pokev+17,27:return
1230 forx=.to19:print"[207][208]";:next:return
1240 forx=.to19:print"[208][207]";:next:return
1250 rem setup crowd